package learn.arc;


import io.seata.spring.annotation.GlobalTransactional;

public class Seata {

    /**
     * 全局锁，记录id；应用内串行提交本地事务
     * 本地事务，保证一致性；读未提交
     *  获取本地锁，开启本地事务，更新数据；获取全局锁，提交本地事务；释放本地锁
     *  全局事务提交后，释放全局锁。保证原子性
     * 回滚日志，异常时生成回滚sql。
     *  全局事务G1异常时，按sql回滚已提交的本地事务
     *  存在全局事务G2更新回滚数据时，G1一直重试回滚；通过全局锁阻塞提交，导致G2获取全局锁超时、G2回滚
     *
     *
     */
    public static void AT(){
        GlobalTransactional a1;


    }
}
